[INFO] cloning repository https://github.com/sorami/sudachi.rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sorami/sudachi.rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsorami%2Fsudachi.rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsorami%2Fsudachi.rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f4dd8f20a774bd71d34a7d4ffa00d987b8946f9e
[INFO] fixing sorami/sudachi.rs against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsorami%2Fsudachi.rs" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sorami/sudachi.rs
[INFO] finished tweaking git repo https://github.com/sorami/sudachi.rs
[INFO] tweaked toml for git repo https://github.com/sorami/sudachi.rs written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sorami/sudachi.rs on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sorami/sudachi.rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b92394693f1016dc482ac6a6cd9341f640cbaa92eb892a996b48b10cafde2b8c
[INFO] running `Command { std: "docker" "start" "b92394693f1016dc482ac6a6cd9341f640cbaa92eb892a996b48b10cafde2b8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b92394693f1016dc482ac6a6cd9341f640cbaa92eb892a996b48b10cafde2b8c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b92394693f1016dc482ac6a6cd9341f640cbaa92eb892a996b48b10cafde2b8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b92394693f1016dc482ac6a6cd9341f640cbaa92eb892a996b48b10cafde2b8c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating sudachi/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating plugin/input_text/default_input_text/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating plugin/path_rewrite/join_katakana_oov/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating plugin/path_rewrite/join_numeric/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating plugin/oov/simple_oov/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating sudachi-cli/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating sudachi-fuzz/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating python/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking yada v0.5.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking tinyvec v1.10.0
[INFO] [stderr]    Compiling target-lexicon v0.13.5
[INFO] [stderr]    Compiling claim v0.5.0
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]     Checking clap_lex v1.0.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling honggfuzz v0.5.58
[INFO] [stderr]     Checking semver v1.0.27
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking clap_builder v4.5.60
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking rustc_version v0.4.1
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking arbitrary v1.4.2
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]    Compiling pyo3-build-config v0.28.3
[INFO] [stderr]     Checking tempfile v3.26.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]    Compiling pyo3-macros-backend v0.28.3
[INFO] [stderr]    Compiling pyo3-ffi v0.28.3
[INFO] [stderr]    Compiling pyo3 v0.28.3
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking fancy-regex v0.13.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerocopy-derive v0.8.40
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking clap v4.5.60
[INFO] [stderr]    Compiling pyo3-macros v0.28.3
[INFO] [stderr]     Checking sudachi v0.6.12-a1 (/opt/rustwide/workdir/sudachi)
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]    Migrating sudachi/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]        Fixed sudachi/src/dic/storage.rs (1 fix)
[INFO] [stderr]        Fixed sudachi/src/plugin/loader.rs (1 fix)
[INFO] [stderr]        Fixed sudachi/src/dic/read/word_info.rs (4 fixes)
[INFO] [stderr]     Checking join_katakana_oov v0.6.12-a1 (/opt/rustwide/workdir/plugin/path_rewrite/join_katakana_oov)
[INFO] [stderr]     Checking join_numeric v0.6.12-a1 (/opt/rustwide/workdir/plugin/path_rewrite/join_numeric)
[INFO] [stderr]     Checking default_input_text v0.6.12-a1 (/opt/rustwide/workdir/plugin/input_text/default_input_text)
[INFO] [stderr]     Checking simple_oov v0.6.12-a1 (/opt/rustwide/workdir/plugin/oov/simple_oov)
[INFO] [stderr]     Checking sudachipy v0.6.12-a1 (/opt/rustwide/workdir/python)
[INFO] [stderr]     Checking sudachi-cli v0.6.12-a1 (/opt/rustwide/workdir/sudachi-cli)
[INFO] [stderr]    Migrating plugin/path_rewrite/join_katakana_oov/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating sudachi-cli/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking sudachi-fuzz v0.0.1 (/opt/rustwide/workdir/sudachi-fuzz)
[INFO] [stderr]        Fixed sudachi-cli/src/main.rs (2 fixes)
[INFO] [stderr]    Migrating plugin/oov/simple_oov/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating plugin/path_rewrite/join_numeric/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating plugin/input_text/default_input_text/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating python/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> python/src/dictionary.rs:375:9
[INFO] [stdout]      |
[INFO] [stdout]  374 |               let module = py.import("tokenizers.pre_tokenizers")?;
[INFO] [stdout]      |                   ------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `module` calls a custom destructor
[INFO] [stdout]      |                   `module` will be dropped later as of Edition 2024
[INFO] [stdout]  375 | /   /         module
[INFO] [stdout]  376 | |   |             .getattr("PreTokenizer")?
[INFO] [stdout]      | |   |                                     -
[INFO] [stdout]      | |   |                                     |
[INFO] [stdout]      | |   |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |   |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |   |_____________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  377 | |                 .getattr("custom")?
[INFO] [stdout]      | |                                   ^
[INFO] [stdout]      | |                                   |
[INFO] [stdout]      | |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      | |                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |___________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  378 |                   .call1((pretokenizer,))
[INFO] [stdout]  379 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:828:1
[INFO] [stdout]      |
[INFO] [stdout]  828 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:828:1
[INFO] [stdout]      |
[INFO] [stdout]  828 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:828:1
[INFO] [stdout]      |
[INFO] [stdout]  828 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:828:1
[INFO] [stdout]      |
[INFO] [stdout]  828 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `module` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:828:1
[INFO] [stdout]      |
[INFO] [stdout]  828 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> python/src/morpheme.rs:315:27
[INFO] [stdout]     |
[INFO] [stdout] 315 |         PyString::new(py, self.morph(py).surface().deref())
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                           a temporary with access to the borrow is created here ...
[INFO] [stdout] 316 |     }
[INFO] [stdout]     |     - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `Ref<'_, str>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let x = PyString::new(py, self.morph(py).surface().deref()); x
[INFO] [stdout]     |         +++++++                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> python/src/dictionary.rs:375:9
[INFO] [stdout]      |
[INFO] [stdout]  374 |               let module = py.import("tokenizers.pre_tokenizers")?;
[INFO] [stdout]      |                   ------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `module` calls a custom destructor
[INFO] [stdout]      |                   `module` will be dropped later as of Edition 2024
[INFO] [stdout]  375 | /   /         module
[INFO] [stdout]  376 | |   |             .getattr("PreTokenizer")?
[INFO] [stdout]      | |   |                                     -
[INFO] [stdout]      | |   |                                     |
[INFO] [stdout]      | |   |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |   |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |   |_____________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  377 | |                 .getattr("custom")?
[INFO] [stdout]      | |                                   ^
[INFO] [stdout]      | |                                   |
[INFO] [stdout]      | |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      | |                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |___________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  378 |                   .call1((pretokenizer,))
[INFO] [stdout]  379 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:828:1
[INFO] [stdout]      |
[INFO] [stdout]  828 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:828:1
[INFO] [stdout]      |
[INFO] [stdout]  828 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:828:1
[INFO] [stdout]      |
[INFO] [stdout]  828 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:2218:1
[INFO] [stdout]      |
[INFO] [stdout] 2218 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:828:1
[INFO] [stdout]      |
[INFO] [stdout]  828 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `module` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.28.3/src/instance.rs:828:1
[INFO] [stdout]      |
[INFO] [stdout]  828 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating sudachi-fuzz/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> python/src/morpheme.rs:315:27
[INFO] [stdout]     |
[INFO] [stdout] 315 |         PyString::new(py, self.morph(py).surface().deref())
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                           a temporary with access to the borrow is created here ...
[INFO] [stdout] 316 |     }
[INFO] [stdout]     |     - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `Ref<'_, str>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let x = PyString::new(py, self.morph(py).surface().deref()); x
[INFO] [stdout]     |         +++++++                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating sudachi/tests/lexicon.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating sudachi/tests/sentence_detector.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating sudachi/tests/morpheme.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating sudachi/tests/stateless_tokenizer.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating sudachi/tests/dictionary_header.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating sudachi/tests/regex_oov.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating sudachi/tests/dictionary.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating sudachi/tests/stateful_tokenizer.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating sudachi/tests/split.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.50s
[INFO] [stderr] crater-edition-check: sudachi v0.6.12-a1 (/opt/rustwide/workdir/sudachi) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: default_input_text v0.6.12-a1 (/opt/rustwide/workdir/plugin/input_text/default_input_text) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: join_katakana_oov v0.6.12-a1 (/opt/rustwide/workdir/plugin/path_rewrite/join_katakana_oov) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: join_numeric v0.6.12-a1 (/opt/rustwide/workdir/plugin/path_rewrite/join_numeric) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: simple_oov v0.6.12-a1 (/opt/rustwide/workdir/plugin/oov/simple_oov) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: sudachi-cli v0.6.12-a1 (/opt/rustwide/workdir/sudachi-cli) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: sudachi-fuzz v0.0.1 (/opt/rustwide/workdir/sudachi-fuzz) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: sudachipy v0.6.12-a1 (/opt/rustwide/workdir/python) updating edition from 2021 to 2024
[INFO] [stderr]     Checking sudachi v0.6.12-a1 (/opt/rustwide/workdir/sudachi)
[INFO] [stdout] warning: struct `SplitIter` is never constructed
[INFO] [stdout]    --> sudachi/src/dic/lexicon/word_infos.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct SplitIter<'a> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sudachi/src/analysis/mlist.rs:138:16
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn get(&self, idx: usize) -> Morpheme<T> {
[INFO] [stdout]     |                ^^^^^                 ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn get(&self, idx: usize) -> Morpheme<'_, T> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sudachi/src/analysis/mlist.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn surface(&self) -> Ref<str> {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn surface(&self) -> Ref<'_, str> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sudachi/src/analysis/mlist.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn iter(&self) -> MorphemeIter<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn iter(&self) -> MorphemeIter<'_, T> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sudachi/src/analysis/mlist.rs:174:25
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub(crate) fn input(&self) -> Ref<InputBuffer> {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub(crate) fn input(&self) -> Ref<'_, InputBuffer> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sudachi/src/analysis/morpheme.rs:81:20
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn surface(&self) -> Ref<str> {
[INFO] [stdout]    |                    ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn surface(&self) -> Ref<'_, str> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sudachi/src/dic/mod.rs:141:57
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub unsafe fn read_any_dictionary(dictionary_bytes: &[u8]) -> SudachiResult<DictionaryLoader> {
[INFO] [stdout]     |                                                         ^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub unsafe fn read_any_dictionary(dictionary_bytes: &[u8]) -> SudachiResult<DictionaryLoader<'_>> {
[INFO] [stdout]     |                                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sudachi/src/dic/mod.rs:165:53
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn read_system_dictionary(dictionary_bytes: &[u8]) -> SudachiResult<DictionaryLoader> {
[INFO] [stdout]     |                                                     ^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn read_system_dictionary(dictionary_bytes: &[u8]) -> SudachiResult<DictionaryLoader<'_>> {
[INFO] [stdout]     |                                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sudachi/src/dic/mod.rs:178:51
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub fn read_user_dictionary(dictionary_bytes: &[u8]) -> SudachiResult<DictionaryLoader> {
[INFO] [stdout]     |                                                   ^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub fn read_user_dictionary(dictionary_bytes: &[u8]) -> SudachiResult<DictionaryLoader<'_>> {
[INFO] [stdout]     |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sudachi/src/dic/build/parse.rs:177:34
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub(crate) fn unescape_cow(data: &str) -> DicWriteResult<Cow<str>> {
[INFO] [stdout]     |                                  ^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub(crate) fn unescape_cow(data: &str) -> DicWriteResult<Cow<'_, str>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sudachi/src/dic/character_category.rs:265:17
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn iter(&self) -> CharCategoryIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn iter(&self) -> CharCategoryIter<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sudachi/src/dic/grammar.rs:58:23
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn parse(buf: &[u8], offset: usize) -> SudachiResult<Grammar> {
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here      ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn parse(buf: &[u8], offset: usize) -> SudachiResult<Grammar<'_>> {
[INFO] [stdout]    |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sudachi/src/dic/grammar.rs:92:24
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn conn_matrix(&self) -> &ConnectionMatrix {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |         ||
[INFO] [stdout]    |                        |         |the same lifetime is hidden here
[INFO] [stdout]    |                        |         the same lifetime is elided here
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn conn_matrix(&self) -> &ConnectionMatrix<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sudachi/src/dic/lexicon/mod.rs:74:14
[INFO] [stdout]    |
[INFO] [stdout] 74 |         buf: &[u8],
[INFO] [stdout]    |              ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 77 |     ) -> SudachiResult<Lexicon> {
[INFO] [stdout]    |                        ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     ) -> SudachiResult<Lexicon<'_>> {
[INFO] [stdout]    |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking join_katakana_oov v0.6.12-a1 (/opt/rustwide/workdir/plugin/path_rewrite/join_katakana_oov)
[INFO] [stderr]     Checking join_numeric v0.6.12-a1 (/opt/rustwide/workdir/plugin/path_rewrite/join_numeric)
[INFO] [stderr]     Checking default_input_text v0.6.12-a1 (/opt/rustwide/workdir/plugin/input_text/default_input_text)
[INFO] [stderr]     Checking simple_oov v0.6.12-a1 (/opt/rustwide/workdir/plugin/oov/simple_oov)
[INFO] [stderr]     Checking sudachi-fuzz v0.0.1 (/opt/rustwide/workdir/sudachi-fuzz)
[INFO] [stderr]     Checking sudachi-cli v0.6.12-a1 (/opt/rustwide/workdir/sudachi-cli)
[INFO] [stderr]     Checking sudachipy v0.6.12-a1 (/opt/rustwide/workdir/python)
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> plugin/oov/simple_oov/src/lib.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | sudachi_dso_plugin!(dyn OovProviderPlugin, SimpleOovPlugin);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `sudachi_dso_plugin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   --> sudachi/src/plugin/dso.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |         #[unsafe(no_mangle)]
[INFO] [stdout]    |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> plugin/oov/simple_oov/src/lib.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | sudachi_dso_plugin!(dyn OovProviderPlugin, SimpleOovPlugin);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `sudachi_dso_plugin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   --> sudachi/src/plugin/dso.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |         #[unsafe(no_mangle)]
[INFO] [stdout]    |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `simple_oov` (lib) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]  --> sudachi-fuzz/src/main.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[cfg(fuzzing)]
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> sudachi-fuzz/src/main.rs:119:11
[INFO] [stdout]     |
[INFO] [stdout] 119 |     #[cfg(fuzzing)]
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> plugin/path_rewrite/join_katakana_oov/src/lib.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | sudachi_dso_plugin!(dyn PathRewritePlugin, JoinKatakanaOovPlugin);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `sudachi_dso_plugin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   --> sudachi/src/plugin/dso.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |         #[unsafe(no_mangle)]
[INFO] [stdout]    |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> sudachi-fuzz/src/main.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |     if cfg!(not(fuzzing)) {
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `simple_oov` (lib test) due to 1 previous error
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> plugin/input_text/default_input_text/src/lib.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | sudachi_dso_plugin!(dyn InputTextPlugin, DefaultInputTextPlugin);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `sudachi_dso_plugin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   --> sudachi/src/plugin/dso.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |         #[unsafe(no_mangle)]
[INFO] [stdout]    |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `join_katakana_oov` (lib test) due to 1 previous error
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> plugin/path_rewrite/join_numeric/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | sudachi_dso_plugin!(dyn PathRewritePlugin, JoinNumericPlugin);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `sudachi_dso_plugin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   --> sudachi/src/plugin/dso.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |         #[unsafe(no_mangle)]
[INFO] [stdout]    |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> plugin/path_rewrite/join_katakana_oov/src/lib.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | sudachi_dso_plugin!(dyn PathRewritePlugin, JoinKatakanaOovPlugin);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `sudachi_dso_plugin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   --> sudachi/src/plugin/dso.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |         #[unsafe(no_mangle)]
[INFO] [stdout]    |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> plugin/input_text/default_input_text/src/lib.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | sudachi_dso_plugin!(dyn InputTextPlugin, DefaultInputTextPlugin);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `sudachi_dso_plugin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   --> sudachi/src/plugin/dso.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |         #[unsafe(no_mangle)]
[INFO] [stdout]    |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `join_numeric` (lib test) due to 1 previous error
[INFO] [stderr] error: could not compile `join_katakana_oov` (lib) due to 1 previous error
[INFO] [stderr] error: could not compile `default_input_text` (lib test) due to 1 previous error
[INFO] [stderr] error: could not compile `default_input_text` (lib) due to 1 previous error
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> plugin/path_rewrite/join_numeric/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | sudachi_dso_plugin!(dyn PathRewritePlugin, JoinNumericPlugin);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `sudachi_dso_plugin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   --> sudachi/src/plugin/dso.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |         #[unsafe(no_mangle)]
[INFO] [stdout]    |           +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]  --> sudachi-fuzz/src/main.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[cfg(fuzzing)]
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> sudachi-fuzz/src/main.rs:119:11
[INFO] [stdout]     |
[INFO] [stdout] 119 |     #[cfg(fuzzing)]
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> sudachi-fuzz/src/main.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |     if cfg!(not(fuzzing)) {
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `join_numeric` (lib) due to 1 previous error
[INFO] [stdout] warning: method `set_subset` is never used
[INFO] [stdout]   --> sudachi-cli/src/analysis.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait Analysis {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] 27 |     fn analyze(&mut self, input: &str, writer: &mut Writer);
[INFO] [stdout] 28 |     fn set_subset(&mut self, subset: InfoSubset);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `subset` is never used
[INFO] [stdout]   --> sudachi-cli/src/output.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait SudachiOutput<T> {
[INFO] [stdout]    |           ------------- method in this trait
[INFO] [stdout] 27 |     fn write(&self, writer: &mut Writer, morphemes: &MorphemeList<T>) -> SudachiResult<()>;
[INFO] [stdout] 28 |     fn subset(&self) -> InfoSubset;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_subset` is never used
[INFO] [stdout]   --> sudachi-cli/src/analysis.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait Analysis {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] 27 |     fn analyze(&mut self, input: &str, writer: &mut Writer);
[INFO] [stdout] 28 |     fn set_subset(&mut self, subset: InfoSubset);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `subset` is never used
[INFO] [stdout]   --> sudachi-cli/src/output.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait SudachiOutput<T> {
[INFO] [stdout]    |           ------------- method in this trait
[INFO] [stdout] 27 |     fn write(&self, writer: &mut Writer, morphemes: &MorphemeList<T>) -> SudachiResult<()>;
[INFO] [stdout] 28 |     fn subset(&self) -> InfoSubset;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b92394693f1016dc482ac6a6cd9341f640cbaa92eb892a996b48b10cafde2b8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b92394693f1016dc482ac6a6cd9341f640cbaa92eb892a996b48b10cafde2b8c", kill_on_drop: false }`
[INFO] [stdout] b92394693f1016dc482ac6a6cd9341f640cbaa92eb892a996b48b10cafde2b8c
